// function fibonacci(n) {
//
//     if(n === 0 || n === 1) {       return n;}
//     let first=0;
//     let second=1;
//     for(let i=2;i<n;i++){
//         var third = first+second;
//         first=second;
//         second=third;
//     }
//     return third;
// }
let fibonacci = function() {
    return function(n) {

        let temp = [0, 1];
        let result = temp[n];
         if( typeof result!=='number'){
             result=fibonacci(n-1)+fibonacci(n-2)     ;
             temp[n]=result
         }

           





        return result;
    }
}(); // 外层立即执行

console.log(fibonacci(5));

